import { ref } from 'vue'
import PageDialog from '@/components/page-dialog';

type callBack = (item?:any)=> void

export function usePageDialog (addData?:callBack,editData?:callBack){
    const pageDialogRef = ref<InstanceType<typeof PageDialog>>();
    const defaultInfo = ref({});
    // table中的响应点击事件
    const handleAddFn = () => {
      //弹出出来之前先把里面可能有的数据清空
      if(pageDialogRef.value.formData){
        pageDialogRef.value.formData={}
      }
      if (pageDialogRef.value) {
        pageDialogRef.value.dialogVisible = true;
      }
      //如果有值则进行调用
      addData && addData()
    };
    const handleEditFn = (item:any) => {
      //将 item 的数据赋给 defaultInfo 然后，传递给PageDialog
      defaultInfo.value = {...item};
      if (pageDialogRef.value) {
        pageDialogRef.value.dialogVisible = true;
      }
      editData && editData(item)
    };
    return {
        pageDialogRef,
        defaultInfo,
        handleAddFn,
        handleEditFn
    }
}